package com.itheima.text4;

import java.util.concurrent.atomic.AtomicInteger;

public class Demo2 {
    public static void main(String[] args) {
        AtomicInteger ac = new AtomicInteger(10);
        //    int get():   		 		获取值
        System.out.println(ac.get());

        AtomicInteger ac2 = new AtomicInteger(10);
        //  int addAndGet(int data):	 以原子方式将参数与对象中的值相加，并返回结果。
        //返回自增前的值
        int andIncrement = ac2.getAndIncrement();
        System.out.println(andIncrement);
        System.out.println(ac2.get());

        AtomicInteger ac3 = new AtomicInteger(10);
        //  int incrementAndGet():     以原子方式将当前值加1，
        //返回自增后的值
        int i = ac3.incrementAndGet();
        System.out.println(i);
        System.out.println(ac3.get());

        AtomicInteger ac4 = new AtomicInteger(10);
        // int addAndGet(int data):	 以原子方式将参数与对象中的值相加，并返回结果。
        int i1 = ac.addAndGet(20);
        System.out.println(i1);
        System.out.println(ac4.get());

        AtomicInteger ac5 = new AtomicInteger(100);
        // int getAndSet(int value):  以原子方式设置为newValue的值，并返回旧值。
        int andSet = ac5.getAndSet(20);
        System.out.println(andSet);
        System.out.println(ac5.get());

    }
}
